package com.alex.wechat.mp.media.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Title: Entity
 * @Description: 微信多媒体素材
 * @author onlineGenerator
 * @date 2016-12-20 16:52:46
 * @version V1.0
 *
 */
/**
 * @author Debenson
 * @since 0.1
 */
@Entity
@Table(name = WxMediaEntity.TABLE_NAME, schema = "")
@SuppressWarnings("serial")
@javax.xml.bind.annotation.XmlRootElement
public class WxMediaEntity implements java.io.Serializable {
  public static final String TABLE_NAME = "wx_media";

  /** 主键 */
  private java.lang.String id;
  /** 创建人名称 */
  private java.lang.String createName;
  /** 创建人登录名称 */
  private java.lang.String createBy;
  /** 创建日期 */
  private java.util.Date createDate;
  /** 更新人名称 */
  private java.lang.String updateName;
  /** 更新人登录名称 */
  private java.lang.String updateBy;
  /** 更新日期 */
  private java.util.Date updateDate;
  /** 所属部门 */
  private java.lang.String sysOrgCode;
  /** 所属公司 */
  private java.lang.String sysCompanyCode;
  /** 类型 */
  @Excel(name = "类型")
  private java.lang.String type;
  /** 文件名称 */
  @Excel(name = "文件名称")
  private java.lang.String fileName;
  /** 文件原始名称 */
  @Excel(name = "文件原始名称")
  private String fileRawName;
  @Excel(name = "物理路径")
  private String realPath;
  /** 标题 */
  @Excel(name = "模板名称")
  private java.lang.String templateName;
  /** 描述 */
  @Excel(name = "描述")
  private java.lang.String description;
  /** 媒体文件标识 */
  private java.lang.String mediaId;
  /** 微信图片地址，仅type=image时有效 */
  private String mediaUrl;
  private String accountId;

  /**
   * 微信账户标识。
   * 
   * @return
   */
  @Column(name = "accountid", length = 100)
  public String getAccountId() {
    return accountId;
  }

  public void setAccountId(String accountId) {
    this.accountId = accountId;
  }

  /**
   * 方法: 取得主键
   * 
   * @return 主键
   */
  @Id
  @GeneratedValue(generator = "paymentableGenerator")
  @GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
  @Column(name = "ID", nullable = false, length = 36)
  public java.lang.String getId() {
    return this.id;
  }

  /**
   * 方法: 设置主键
   *
   * @param id
   *          主键
   */
  public void setId(java.lang.String id) {
    this.id = id;
  }

  /**
   * 方法: 取得创建人名称
   * 
   * @return 创建人名称
   */
  @Column(name = "CREATE_NAME", nullable = true, length = 50)
  public java.lang.String getCreateName() {
    return this.createName;
  }

  /**
   * 方法: 设置创建人名称
   *
   * @param createName
   *          创建人名称
   */
  public void setCreateName(java.lang.String createName) {
    this.createName = createName;
  }

  /**
   * 方法: 取得创建人登录名称
   * 
   * @return 创建人登录名称
   */
  @Column(name = "CREATE_BY", nullable = true, length = 50)
  public java.lang.String getCreateBy() {
    return this.createBy;
  }

  /**
   * 方法: 设置创建人登录名称
   *
   * @param createBy
   *          创建人登录名称
   */
  public void setCreateBy(java.lang.String createBy) {
    this.createBy = createBy;
  }

  /**
   * 方法: 取得创建日期
   * 
   * @return 创建日期
   */
  @Column(name = "CREATE_DATE", nullable = true, length = 20)
  public java.util.Date getCreateDate() {
    return this.createDate;
  }

  /**
   * 方法: 设置创建日期
   *
   * @param createDate
   *          创建日期
   */
  public void setCreateDate(java.util.Date createDate) {
    this.createDate = createDate;
  }

  /**
   * 方法: 取得更新人名称
   * 
   * @return 更新人名称
   */
  @Column(name = "UPDATE_NAME", nullable = true, length = 50)
  public java.lang.String getUpdateName() {
    return this.updateName;
  }

  /**
   * 方法: 设置更新人名称
   *
   * @param updateName
   *          更新人名称
   */
  public void setUpdateName(java.lang.String updateName) {
    this.updateName = updateName;
  }

  /**
   * 方法: 取得更新人登录名称
   * 
   * @return 更新人登录名称
   */
  @Column(name = "UPDATE_BY", nullable = true, length = 50)
  public java.lang.String getUpdateBy() {
    return this.updateBy;
  }

  /**
   * 方法: 设置更新人登录名称
   *
   * @param updateBy
   *          更新人登录名称
   */
  public void setUpdateBy(java.lang.String updateBy) {
    this.updateBy = updateBy;
  }

  /**
   * 方法: 取得更新日期
   * 
   * @return 更新日期
   */
  @Column(name = "UPDATE_DATE", nullable = true, length = 20)
  public java.util.Date getUpdateDate() {
    return this.updateDate;
  }

  /**
   * 方法: 设置更新日期
   *
   * @param updateDate
   *          更新日期
   */
  public void setUpdateDate(java.util.Date updateDate) {
    this.updateDate = updateDate;
  }

  /**
   * 方法: 取得所属部门
   * 
   * @return 所属部门
   */
  @Column(name = "SYS_ORG_CODE", nullable = true, length = 50)
  public java.lang.String getSysOrgCode() {
    return this.sysOrgCode;
  }

  /**
   * 方法: 设置所属部门
   *
   * @param sysOrgCode
   *          所属部门
   */
  public void setSysOrgCode(java.lang.String sysOrgCode) {
    this.sysOrgCode = sysOrgCode;
  }

  /**
   * 方法: 取得所属公司
   * 
   * @return 所属公司
   */
  @Column(name = "SYS_COMPANY_CODE", nullable = true, length = 50)
  public java.lang.String getSysCompanyCode() {
    return this.sysCompanyCode;
  }

  /**
   * 方法: 设置所属公司
   *
   * @param sysCompanyCode
   *          所属公司
   */
  public void setSysCompanyCode(java.lang.String sysCompanyCode) {
    this.sysCompanyCode = sysCompanyCode;
  }

  /**
   * 方法: 取得类型
   * 
   * @return 类型
   */
  @Column(name = "TYPE", nullable = false, length = 20)
  public java.lang.String getType() {
    return this.type;
  }

  /**
   * 方法: 设置类型
   *
   * @param type
   *          类型
   */
  public void setType(java.lang.String type) {
    this.type = type;
  }

  /**
   * 方法: 取得文件名称
   * 
   * @return 文件名称
   */
  @Column(name = "FILE_NAME", nullable = true, length = 128)
  public java.lang.String getFileName() {
    return this.fileName;
  }

  /**
   * 方法: 设置文件名称
   *
   * @param fileName
   *          文件名称
   */
  public void setFileName(java.lang.String fileName) {
    this.fileName = fileName;
  }

  /**
   * 文件原始名称。
   * 
   * @return
   */
  @Column(name = "FILE_RAW_NAME", length = 128)
  public String getFileRawName() {
    return fileRawName;
  }

  public void setFileRawName(String fileRawName) {
    this.fileRawName = fileRawName;
  }

  /**
   * 方法: 取得模板名称
   * 
   * @return 模板名称
   */
  @Column(name = "templateName", nullable = false, length = 128)
  public java.lang.String getTemplateName() {
    return this.templateName;
  }

  /**
   * 方法: 设置模板名称
   *
   * @param templateName
   *          模板名称
   */
  public void setTemplateName(java.lang.String templateName) {
    this.templateName = templateName;
  }

  /**
   * 方法: 取得描述
   * 
   * @return 描述
   */
  @Column(name = "DESCRIPTION", nullable = true, length = 256)
  public java.lang.String getDescription() {
    return this.description;
  }

  /**
   * 方法: 设置描述
   *
   * @param description
   *          描述
   */
  public void setDescription(java.lang.String description) {
    this.description = description;
  }

  /**
   * 方法: 取得媒体文件标识
   * 
   * @return 媒体文件标识
   */
  @Column(name = "MEDIA_ID", nullable = true, length = 50)
  public java.lang.String getMediaId() {
    return this.mediaId;
  }

  /**
   * 方法: 设置媒体文件标识
   *
   * @param mediaId
   *          媒体文件标识
   */
  public void setMediaId(java.lang.String mediaId) {
    this.mediaId = mediaId;
  }

  /**
   * 物理存放路径
   * 
   * @return
   */
  @Column(name = "REAL_PATH", length = 256)
  public String getRealPath() {
    return realPath;
  }

  public void setRealPath(String realPath) {
    this.realPath = realPath;
  }

  /**
   * 微信图片地址
   * 
   * @return
   */
  @Column(name = "MEDIA_URL", length = 256)
  public String getMediaUrl() {
    return mediaUrl;
  }

  public void setMediaUrl(String mediaUrl) {
    this.mediaUrl = mediaUrl;
  }

}
